﻿// Inicializar Variables
var ancho_peq 		= 0;
var alto_peq 		= 0;
var ancho_med 		= 0;
var alto_med 		= 0;


/*
 * Carga los datos desde el XML "smist_senal_tra" a Base de Datos SQLite
 */

function cargarSenalTra() {
	// Cargar tabla smist_senal_tra
	$.get("../data/smist_base/smist_senal_tra.xml", function (xml) {
		$(xml).find("row").each(function () {
			id_tipo_sen 			= $(this).find('id_tipo_sen').text();
			id_categ_sen 			= $(this).find('id_categ_sen').text();
			nombre 					= $(this).find('nombre').text();
			imagenes 				= $(this).find('imagenes').text();
			ancho_peq 				= $(this).find('ancho_peq').text();
			alto_peq 				= $(this).find('alto_peq').text();
			ancho_med 				= $(this).find('ancho_med').text();
			alto_med 				= $(this).find('alto_med').text();

			insertarSenalTraXML(id_tipo_sen, id_categ_sen, nombre, imagenes, ancho_peq, alto_peq, ancho_med, alto_med);
		});
	});
}


/*
 * Insertar los Datos de las Señales de Tránsito desde un XML
 */

function insertarSenalTraXML(id_tipo_sen, id_categ_sen, nombre, imagenes, ancho_peq, alto_peq, ancho_med, alto_med) {
	db.transaction(function(tx) {
		tx.executeSql('INSERT INTO smist_senal_tra (id_tipo_sen, id_categ_sen, nombre, imagenes, ancho_peq, alto_peq, ancho_med, alto_med) VALUES (?, ?, ?, ?, ?, ?, ?, ?)', [id_tipo_sen, id_categ_sen, nombre, imagenes, ancho_peq, alto_peq, ancho_med, alto_med]);
	});
}


/*
 * Consultar los Datos de las Señales de Tránsito
 */

function consultarSenalTra() {
	db.transaction(function(tx) {
		tx.executeSql('SELECT * FROM smist_senal_tra', []);
	});
}


/*
 * Consultar los Datos de las Señales de Tránsito para el Combo
 */

function consultarComboSenalTra( id_tipo_sen, id_categ_sen ) {
	db.transaction(function(tx) {
		if ( id_tipo_sen && id_categ_sen ) {
			tx.executeSql('SELECT * FROM smist_senal_tra where id_tipo_sen = ' + id_tipo_sen + ' and id_categ_sen = ' + id_categ_sen, [], resConsultarComboSenalTra);
		} else {
			tx.executeSql('SELECT * FROM smist_senal_tra', [], comboSenalTra);
		}
	});
}


/*
 * Respuesta a Consultar los Datos de las Señales de Tránsito para el Combo
 */

function resConsultarComboSenalTra(tx, rs) {
	for(var i=0; i < rs.rows.length; i++) {
		r = rs.rows.item(i);
		$('#id_senal_tra').append($("<option></option>").attr("value",r['id_senal_tra']).text(r['nombre']));
	}
}


/*
 * Consultar las Imagenes de una Señal de Tránsito
 */

function consultarImageSen( id_senal_tra ) {
	db.transaction(function(tx) {
		tx.executeSql('SELECT * FROM smist_senal_tra where id_senal_tra = ' + id_senal_tra, [], resConsultarImageSen);
	});
}


/*
 * Respuesta a Consultar las Imagenes de una Señal de Tránsito
 */

function resConsultarImageSen(tx, rs) {
	r = rs.rows.item(0);
	
	var id_tipo_sen = r['id_tipo_sen'];
	div_image_sen 	= "";
	ids_image_sen 	= r['imagenes'].split( "," );
	
	ancho_med 		= r['ancho_med'];
	alto_med 		= r['alto_med'];
	
	cantidad_image_sen 	= ids_image_sen.length;
			
	// Si la Señal posee mas de una Imagen
	if ( cantidad_image_sen > 1 ) {
		
		div_image_sen = "<label for='h_desc_image_sen'>Seleccione la Imagen de la Señal</label><br />";
			
		// Para cada Imagen
		for(var i=0; i < ids_image_sen.length; i++) {
			
			if ( id_tipo_sen != 9 ) {
				// Seteamos el Tamaño de la Imagen de Turno
				setear_dimension_imagen( ids_image_sen[i] );
							
				div_image_sen = div_image_sen + "<br /><table id='tabla_image_sen_" + i + "' align='center'><tr><td width='30px'></td><td id='td_image_sen_" + i + "' width='200px' align='center'><img id='image_sen_" + i + "' name='image_sen_" + i + "' src='../img/senales/med/" + ids_image_sen[i] + ".gif' alt='" + r['nombre'] + "' title='" + r['nombre'] + "' width='" + ancho_med + "' height='" + alto_med + "' onClick='setearImageSen( \"" + i + "\", \"" + cantidad_image_sen + "\", \"" + ids_image_sen[i] + "\" );' /></td><td id='td_check_img_" + i + "' width='30px' align='center' valign='middle'></td></tr></table>";
				
			} else if ( id_tipo_sen == 9 && id_categ_sen == 39 ) {
				div_image_sen = "<label for='h_desc_image_sen'>Imagen de la Señal</label><br /><br /><table id='tabla_image_sen' align='center'><tr><td width='30px'></td><td><img id='desc_image_sen' name='desc_image_sen' src='../img/senales/med/S0.gif' alt='" + r['nombre'] + "' width='" + ancho_med + "px' height='" + alto_med + "px' /></td><td id='td_check_img' width='30px' align='center' valign='middle'><img src='../img/botones/ok.gif' alt='OK'/></td></tr></table>";
		
				$('#h_desc_image_sen').val( "S0" );
				i = ids_image_sen.length;
			}
			
		}
	} else if ( cantidad_image_sen == 1 ) {
		div_image_sen = "<label for='h_desc_image_sen'>Imagen de la Señal</label><br /><br /><table id='tabla_image_sen' align='center'><tr><td width='30px'></td><td><img id='desc_image_sen' name='desc_image_sen' src='../img/senales/med/" + r['imagenes'] + ".gif' alt='" + r['nombre'] + "' width='" + ancho_med + "px' height='" + alto_med + "px' /></td><td id='td_check_img' width='30px' align='center' valign='middle'><img src='../img/botones/ok.gif' alt='OK'/></td></tr></table>";
		
		$('#h_desc_image_sen').val( r['imagenes'] );
	}
	$('#div_image_sen').html( "" );
	$('#div_image_sen').append( div_image_sen );
}


/*
 * Setear la Imagen de una Señal seleccionada por el Usuario
 */

function setearImageSen( desc_image_sen, cantidad_image_sen, image_sen ) {
	
	for(var i=0; i < cantidad_image_sen; i++) {
		$('#td_check_img_' + i).html("");
	}
	$('#td_check_img_' + desc_image_sen).html("<img src='../img/botones/ok.gif' alt='OK'/>");
	
	$('#h_desc_image_sen').val( image_sen );
}


/*
 * Consultar el Nombre de una Señal de Tránsito
 */

function consultarNombreSenalTra( id_senal_tra, id_tipo_sen, id_categ_sen ) {
    db.transaction(function(tx) {
        tx.executeSql('SELECT nombre FROM smist_senal_tra WHERE id_senal_tra = ? AND id_tipo_sen = ? AND id_categ_sen = ?', [id_senal_tra, id_tipo_sen, id_categ_sen], resConsultarNombreSenalTra);
    });
}


/*
 * Respuesta a Consultar el Nombre de una Señal de Tránsito
 */

function resConsultarNombreSenalTra(tx, rs) {
    r = rs.rows.item(0);
    $('#nombre_senal_tra').val(r['nombre']);
}


/*
 * Imprimir la Imagen de una Señal de Tránsito Consultada
 */

function imprimirImageSenalTra( desc_image_sen ) {
    
    tabla = "<br />";
    tabla += "Imagen de la Señal";
    tabla += "<br />";
    tabla += "<table id='tabla_image_sen' align='center'>";
        tabla += "<tr>";
            tabla += "<td>";
                tabla += "<img id='desc_image_sen' name='desc_image_sen' src='../img/senales/med/" + desc_image_sen + ".gif' />";
            tabla += "</td>";
        tabla += "</tr>";
    tabla += "</table>";
    
    $('#div_image_sen').html( "" );
    $('#div_image_sen').append(tabla);
}


/*
 * Setear Dimension de una Imagen para Ver en el Mapa
 */

function setearDimensionImageSen( id_senal_tra ) {
    db.transaction(function(tx) {
        tx.executeSql('SELECT * FROM smist_senal_tra WHERE id_senal_tra = ?', [id_senal_tra], resSetearDimensionImageSen);
    });
}


/*
 * Respuesta a Setear Dimension de una Imagen para Ver en el Mapa
 */

function resSetearDimensionImageSen(tx, rs) {
    r = rs.rows.item(0);
    $('#h_ancho_peq').val(r['ancho_peq']);
	$('#h_alto_peq').val(r['alto_peq']);
	$('#h_ancho_med').val(r['ancho_med']);
	$('#h_alto_med').val(r['alto_med']);
}


/*
 * PRUEBAS DE CARGA DE DATA DE XML A BD
 */

/*
 * Prueba de carga de todos los Datos del XML a BD
 */

function pruebaSenalTra() {
    db.transaction(function(tx) {
        tx.executeSql('SELECT * FROM smist_senal_tra', [], resPruebaSenalTra);
    });
}


/*
 * Respuesta a la Prueba de carga de todos los Datos del XML a BD
 */

function resPruebaSenalTra(tx, rs) {
    alert("Cantidad: " + rs.rows.length + " -> 328");
}